package io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * JAVA IO 输入与输出
 * java按照输入与输出方向划分两个操作：读与写
 * 输出是用来读取的，是从外界输入到程序中的方向
 * 输出是用来写的
 *
 * java将输入与输出比喻为"流（stream）"即；相同一侧顺序移动的过程
 * 并且定义了两个超类
 * java.io.OutputStream；输出流
 * 里面规定了所有的字节输出流的读取方法。将来实际读取不同设备的输入流都继承自它，因此
 * 都会有这里定义的读取操作。使得程序员可以用相同的读取方式读取不同设备。
 *
 * java.io.OutputStream;输出流。所有字节输出流都继承自它，里面定义了写出字节的方法
 *
 *
 * 文件流
 * java.io.FileInputStream和FileOutputStream
 * 他们继承自InputStream和OutputStream，用来连接文件，进行读写文件数据
 *
 */

public class FOSDemo {
    public static void main(String[] args) throws IOException {
        /*
        文件输出流提供了两种构造方法：
        需要注释，如果指定的文件不存在会自动将其创建出来，前提是该文件所在的目录
        必须存在
         */
        //向当前目录的fos.dat文件写入数据
        //File file = nwe File("./fos.dat");
        //FileOutputStream fos = new FileOutputSteam(file)

        FileOutputStream fos = new FileOutputStream("./fos.dat");


        /*
        void write(int d)
        将给定的int值对应的2进制的"低八位"写入文件
                                   vvvvvvvv
         00000000 00000000 00000000 00000001

         文件fos.dat的内容：
         00000001
         */

        fos.write(1);
        /*
         00000000 00000000 00000000 00000010
         文件fos.dat的内容：
         00000001 00000010

         */


        fos.write(2);
        System.out.println("写出完毕");
        fos.close();


    }
}
